Loading [MathJax]/jax/output/CommonHTML/jax.js

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Модуларна аритметика

Два цела броја a и b су конгруентна по модулу n ако дају исти остатак при дељењу са n, односно ако је њихова разлика ab дељива са n.

Извршавање аритметичких операција по модулу n подразумева да се након примене операције одреди остатак при дељењу са бројем n. Важе следеће релације: (a+b)modn=(amodn + bmodn)modn(ab)modn=(amodn  bmodn)modn(ba)modn=(bmodnamodn+n)modn

У пракси, ово је корисно у ситуацијама када збир a+b (односно производ ab) може премашити максималну подржану вредност одговарајућег типа података.

Докажимо релацију о производу (она о збиру се доказује још једноставније). Подсетимо се да је xmody=r ако и само ако постоји q такав да је x=qy+r и ако је 0r<y. Претпоставимо da je a=qan+ra и b=qbn+rb за 0ra,rb<n. Тада важи да је ab=(qan+ra)(qbn+rb)=(qaqbn+qarb+raqb)n+rarb. Ако важи да је rarb=qn+r за 0r<n, тада је ab=(qaqbn+qarb+raqb+q)n+r, па је (ab)modn=r. Важи да је (amodn  b mod n)modn=(rarb)modn=r, чиме је тврђење доказано.

Докажимо релацију о разлици. Додавање броја n служи да се избегне дељење негативних бројева. Подсетимо се да је xmody=r ако и само ако постоји q такав да је x=qy+r и ако је 0r<y. Нека је a=qan+ra и b=qbn+rb, za 0ra,rb<n. Зато је amodn=ra и bmodn=rb. Нека је rbra+n=qn+r за неко 0r<n. Зато је (amodnbmodn+n)modn=(rbra+n)mod n=r. Такође, важи и да је ba=(qbqa)n+(rbra)=(qbqa1)n+(rbra+n)=(qbqa1+q)n+r, па је и (ba)modn=r, чиме је тврђење доказано.

У наставку ћемо приказати неколико задатака у којима се примењује модуларна аритметика.